package xcmg.device.service.vo.threeGuaranteesPur;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 三包申请单详细记录维度的对象
 */

@Data
@ToString
public class ThreeGuaranteesPurAllDetailVO implements Serializable {
    private static final long serialVersionUID = -1L;
    /**
     * 明细表记录信息 begin
     **/
    @ApiModelProperty(value = "ID")
    private String id;
    @ApiModelProperty(value = "主表ID")
    private String threeGuaPurNo;
    @ApiModelProperty(value = "技术通知单号")
    private String technicalNo;
    @ApiModelProperty(value = "机器编号")
    private String machineNo;
    @ApiModelProperty(value = "型号")
    private String machineType;
    @ApiModelProperty(value = "零件编号")
    private String materialsNo;
    @ApiModelProperty(value = "零件名称")
    private String materialsDesc;
    @ApiModelProperty(value = "采购数量")
    private BigDecimal purchaseQty;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "发货数量")
    private BigDecimal deliveryQty;
    @ApiModelProperty(value = "出库状态:0:未出库,1:正在出库,2:已出库")
    private Integer status;
    @ApiModelProperty(value = "发货日期")
    private Date deliveryDate;
    @ApiModelProperty(value = "创建人ID")
    private String createId;
    @ApiModelProperty(value = "创建人名称")
    private String createName;
    @ApiModelProperty(value = "创建人日期")
    private Date createDate;
    @ApiModelProperty(value = "单价")
    private BigDecimal price;
    @ApiModelProperty(value = "总价")
    private BigDecimal totalPrice;
    @ApiModelProperty(value = "备注")
    private String note;
    @ApiModelProperty(value = "实际出库数量")
    private BigDecimal realQty;

    /**明细表记录信息 end**/
    //非持久化字段 begin
    @ApiModelProperty(value = "库存数量")
    private BigDecimal amount;
    //非持久化字段 end
    /**
     * 主表记录信息 begin
     **/
    @ApiModelProperty(value = "主记录ID")
    private String headerId;
    @ApiModelProperty(value = "主表出库状态:0:未出库,1:正在出库,2:已出库")
    private Integer headerStatus;
    @ApiModelProperty(value = "主表上的备注")
    private String headerNote;
    @ApiModelProperty(value = "主表上采购数量")
    private BigDecimal headerPurchaseQty;
    @ApiModelProperty(value = "主表上单价")
    private BigDecimal headerPrice;
    @ApiModelProperty(value = "主表上总价")
    private BigDecimal headerTotalPrice;

    @ApiModelProperty(value = "发货方式子节点id")
    private String sendTypeChildId;
    @ApiModelProperty(value = "发货方式子节点名称")
    private String sendTypeChildName;
    @ApiModelProperty(value = "SAP内部订单ID")
    private String sapId;
    @ApiModelProperty(value = "国家")
    private String country;
    @ApiModelProperty(value = "产品型号")
    private String prodType;
    @ApiModelProperty(value = "服务支持单号")
    private String serviceNo;
    @ApiModelProperty(value = "是否可出库（1可出库，2不可出库）")
    private Integer outEnable;
    @ApiModelProperty(value = "SAP内部订单号")
    private String sapName;
    @ApiModelProperty(value = "移动类型")
    private String sapTypeName;
    @ApiModelProperty(value = "crm单号")
    private String crmOrder;
    @ApiModelProperty(value = "删除标识")
    private Integer isDel;
    @ApiModelProperty(value = "整机编号")
    private String machineNumber;
    @ApiModelProperty(value = "类型")
    private String guaranteesTypeName;
    @ApiModelProperty(value = "结算方式ID")
    private String settleTypeId;
    @ApiModelProperty(value = "结算方式名称")
    private String settleTypeName;
    @ApiModelProperty(value = "收货人")
    private String receiverName;
    @ApiModelProperty(value = "联系方式")
    private String receiverPhone;
    @ApiModelProperty(value = "传真")
    private String receiverFax;
    @ApiModelProperty(value = "收货地址")
    private String receiverAddress;
    @ApiModelProperty(value = "申请人ID")
    private String applicationId;
    @ApiModelProperty(value = "申请人名称")
    private String applicationName;
    @ApiModelProperty(value = "申请人联系方式")
    private String applicationPhone;
    @ApiModelProperty(value = "实际审核人ID")
    private String realAuditId;
    @ApiModelProperty(value = "实际审核人名称")
    private String realAuditName;
    @ApiModelProperty(value = "实际申请日期")
    private Date realAuditDate;
    @ApiModelProperty(value = "申请日期")
    private Date applicationDate;
    @ApiModelProperty(value = "审核备注")
    private String auditNote;
    @ApiModelProperty(value = "申请部门ID")
    private String applicationPartId;
    @ApiModelProperty(value = "申请部门名称")
    private String applicationPartName;
    @ApiModelProperty(value = "状态:0草稿，1已提交，2审核通过，3审核驳回")
    private String guaraenteesStatus;
    @ApiModelProperty(value = "审核状态描述")
    private String statusDesc;
    @ApiModelProperty(value = "")
    private String orgid;
    @ApiModelProperty(value = "采购单号")
    private String purchaseNo;
    @ApiModelProperty(value = "客户ID")
    private String customerId;
    @ApiModelProperty(value = "客户名称")
    private String customerName;
    @ApiModelProperty(value = "发运方式ID")
    private String deliveryTypeId;
    @ApiModelProperty(value = "发运方式名称")
    private String deliveryTypeName;
    @ApiModelProperty(value = "承运商ID")
    private String carrierOrgId;
    @ApiModelProperty(value = "承运商名称")
    private String carrierOrgName;
    @ApiModelProperty(value = "调度员ID")
    private String dispatcherId;
    @ApiModelProperty(value = "调度员名称")
    private String dispatcherName;
    @ApiModelProperty(value = "服务人员")
    private String serviceName;
    @ApiModelProperty(value = "服务网点")
    private String serviceSite;

    /**
     * 是否返厂
     */
    private String isReturn;

    /**
     * 是否返厂
     */
    private String crmNote;

    /**
     * 发运时间
     */
    private Date deliveryReceiptTime;

    /**
     * 吊机编号
     */
    private String factoryNumber;

    private String actualReturn;

    /**主表记录信息 end**/

    private Date outDate;

    /**
     * 签收时间
     */
    private Date receiveDate;
}
